const koa = require('koa');
const {koaBody} = require('koa-body');
const koaStatic = require('koa-static')
const path = require("path");
const {errorhandle} = require('./errorhandle');
const router = require('../router');
const cors = require("koa2-cors");
const json=require('koa-json');
const app = new koa()



app.use(koaBody({
  formLimit:"10mb",
  jsonLimit:"10mb",
  // formidable:{
  //     uploadDir: path.join(__dirname + "/public/images"),
  //     keepExtensions: true,
  //     //maxFieldsSize:300 * 1024 * 1024, // 文件大小
  //     //onError(err){ ctx.app.emit('error',err.message,ctx) }
  //   }
}));
//================
// app.use(bodyParser({
//   formLimit:"10mb",
//   jsonLimit:"10mb"
// }));
// app.use(
//   koaBody({
//     // 支持文件格式
//     // formLimit: '3mb',
//     // multipart: true, // 允许多个文件一起上传
//     // formidable:{
//     //   uploadDir: path.join(__dirname + "/public/images"),
//     //   keepExtensions: true,
//     //   maxFieldsSize:300 * 1024 * 1024, // 文件大小
//     //   //onError(err){ ctx.app.emit('error',err.message,ctx) }
//     // }
//   })
// );

app.use(cors())
app.use(json())

app.use(koaStatic(path.join(__dirname + "/public")));

app.use(router.routes());

app.use(router.allowedMethods());

//console.log(path.join(__dirname + "/public"));
app.on('error', errorhandle);


//引入socketServer模块
const createSocket = require("../socketIO/socketService");
const httpServer=require("http").createServer(app.callback())
createSocket(httpServer)


module.exports = {app,httpServer}